package com.ntschy.bt.entity.dataobject.BtHelp;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ntschy.bt.entity.enums.*;
import com.ntschy.common.valid.datetime.DateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 求助对象 bt-help
 *
 * @author cm
 * @date 2020-1-4
 */

@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("bt_help")
@ApiModel(description = "求助对象实体类")
public class BtHelp {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId("ID")
    @ApiModelProperty(value = "主键ID")
    private String id;


    /**
     * 企业名称
     */
    @TableField("CompanyName")
    @ApiModelProperty(value = "企业名称")
    private String companyName;

    /**
     *社会信用代码
     */
    @TableField("CreditCode")
    @ApiModelProperty(value = "社会信用代码")
    private String creditCode;


    /**
     * 企业分类
     */
    @TableField("CompanyType")
    @ApiModelProperty(value = "企业分类")
    private BtHelpCompanyTypeEnum companyType;

    /**
     * 求助类型
     */
    @TableField("HelpType")
    @ApiModelProperty(value = "求助类型：1 .项目建设-环评 2：项目建设-租赁企业入园申请 3:项目建设-技改申请备案4 :安全生产、5：要素保障 6 ：用工资金")
    private BtHelpHelpTypeEnum helpType;

    /**
     * 求助时间
     */
//    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField("HelpTime")
    @ApiModelProperty(value = "求助时间")
    private String helpTime;

    /**
     * 问题和诉求描述
     */
    @TableField("QueDes")
    @ApiModelProperty(value = "问题和诉求描述")
    private String queDes;

    /**
     * 状态
     */
    @TableField("Status")
    @ApiModelProperty(value = "1:待提交  2 ：待分配  3：待分配审核  4：待回复  5：待录入  6:已完成")
    private BtHelpStatusEnum status;

    /**
     * 创建人ID
     */
    @TableField("CreateUserID")
    @ApiModelProperty(value = "创建人ID")
    private String createUserId;

    /**
     * 创建人姓名
     */
    @TableField("CreateUserName")
    @ApiModelProperty(value = "创建人姓名")
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField("CreateTime")
    @ApiModelProperty(value = "创建时间")
    private String createTime;

    /**
     * 提交人ID
     */
    @TableField("CommitUserID")
    @ApiModelProperty(value = "提交人ID")
    private String commitUserId;

    /**
     * 提交人姓名
     */
    @TableField("CommitUserName")
    @ApiModelProperty(value = "提交人姓名")
    private String commitUserName;

    /**
     * 提交时间
     */
    @TableField("CommitTime")
    @ApiModelProperty(value = "提交时间")
    private String commitTime;

    /**
     * 分配人ID
     */
    @TableField("AssignUserID")
    @ApiModelProperty(value = "分配人ID")
    private String assignUserId;

    /**
     * 分配人姓名
     */
    @TableField("AssignUserName")
    @ApiModelProperty(value = "分配人姓名")
    private String assignUserName;

    /**
     * 分配时间
     */
    @TableField("AssignTime")
    @ApiModelProperty(value = "分配时间")
    private String assignTime;

    /**
     * 分配部门
     */
    @TableField("AssignDeptID")
    @ApiModelProperty(value = "分配部门")
    private String assignDeptId;

    /**
     * 审核人ID
     */
    @TableField("ExamineUserID")
    @ApiModelProperty(value = "审核人ID")
    private String examineUserId;

    /**
     * 审核人姓名
     */
    @TableField("ExamineUserName")
    @ApiModelProperty(value = "审核人姓名")
    private String examineUserName;

    /**
     * 审核时间
     */
    @TableField("ExamineTime")
    @ApiModelProperty(value = "审核时间")
    private String examineTime;

    /**
     * 分配审核说明
     */
    @TableField("ExamineOpinion")
    @ApiModelProperty(value = "分配审核说明")
    private String examineOpinion;

    /**
     * 审核状态
     */
    @TableField("ExamineResult")
    @ApiModelProperty(value = "0 审核退回 1审核通过")
    private BtHelpExamineResultEnum examineResult;

    /**
     * 返回分配项
     */
    @TableField("Back")
    @ApiModelProperty(value = "退回分配项 0否 1是")
    private BtHelpBackEnum back;

    /**
     * 回复人ID
     */
    @TableField("ReplayUserID")
    @ApiModelProperty(value = "回复人ID")
    private String replayUserId;

    /**
     * 回复人姓名
     */
    @TableField("ReplayUserName")
    @ApiModelProperty(value = "回复人姓名")
    private String replayUserName;

    /**
     * 回复时间
     */
    @TableField("ReplayTime")
    @ApiModelProperty(value = "回复时间")
    private String replayTime;

    /**
     * 回复信息
     */
    @TableField("ReplayOpinion")
    @ApiModelProperty(value = "回复信息")
    private String replayOpinion;

    /**
     * 录入人ID
     */
    @TableField("EnterUserID")
    @ApiModelProperty(value = "录入人ID")
    private String enterUserId;

    /**
     * 录入人姓名
     */
    @TableField("EnterUserName")
    @ApiModelProperty(value = "录入人姓名")
    private String enterUserName;

    /**
     * 录入时间
     */
    @TableField("EnterTime")
    @ApiModelProperty(value = "录入时间")
    private String enterTime;

    /**
     * 处理结果
     */
    @TableField("EnterResult")
    @ApiModelProperty(value = "处理结果 1已解决 2未解决")
    private BtHelpEnterResultEnum enterResult;

    /**
     * 类别
     */
    @TableField("Type")
    @ApiModelProperty(value = "类别 1区级求助 2市级求助")
    private BtHelpTypeEnum type;

    /**
     * 是否删除
     */
    @TableField("DelFlag")
    @ApiModelProperty(value = "是否删除 0-正常 1-删除")
    private BtHelpDelFlagEnum delFlag;




}
